Extending STL Maps Using LBSTs
نویسنده
چکیده
Associative containers are basic generic classes of the C++ standard library. Access to the elements can be done by key or iterator, but not by rank. This paper presents a new implementation of the map class, which extends the Standard with the ability to support efficient direct access by rank without using extra space. This is achieved using LBST trees. This document reports on the algorithmic engineering of this implementation as well as, experimental results that show its competitive performance compared to the widespread GCC library map implementation.
منابع مشابه
Approaches to Parallel Generic Programming in the STL Framework
While tremendous progress has been made in developing parallel algorithms, there has not been as much success in developing language support for programming these parallel algorithms. The C++ Standard Template Library (STL) provides an opportunity for extending the concept of generic programming to the parallel realm. This paper discusses the basic requirements for extending STL to provide supp...
متن کاملOMB No . 0704 - 0188
Security-typed languages (STLs) are powerful tools for provably implementing policy in applications. The programmer maps policy onto programs by annotating types with information flow labels, and the STL compiler guarantees that data always obeys its label as it flows within an application. As data flows into or out of an application, however, a runtime system is needed to mediate between the i...
متن کاملSubtitle Channels : Runtime System Infrastructure for Security - Typed Languages
Security-typed languages (STLs) are powerful tools for provably implementing policy in applications. The programmer maps policy onto programs by annotating types with information flow labels, and the STL compiler guarantees that data always obeys its label as it flows within an application. As data flows into or out of an application, however, a runtime system is needed to mediate between the i...
متن کاملDeriving Non-determinism from Conjunction and Disjunction
In this paper, we show that the non-deterministic choice “+”, which was proposed as a primitive operator in Synchronization Tree Logic (STL for short) can be defined essentially by conjunction and disjunction in the μ-calculus (μM for short). This is obtained by extending the μcalculus with the non-deterministic choice “+” (denoted by μM) and then showing that μM can be translated into μM. Furt...
متن کاملA Concept Design for the STL
This report presents a concept design for the algorithms part of the STL and outlines the design of the supporting language mechanism. Both are radical simplifications of what was proposed in the C++0x draft. In particular, this design consists of only 41 concepts (including supporting concepts), does not require concept maps, and (perhaps most importantly) does not resemble template metaprogra...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005